bitkeeper revision 1.1193 (420d72d0IYG07QeED-l3FKZf5M7o1g)
authoriap10@freefall.cl.cam.ac.uk <iap10@freefall.cl.cam.ac.uk>
Sat, 12 Feb 2005 03:06:56 +0000 (03:06 +0000)
committeriap10@freefall.cl.cam.ac.uk <iap10@freefall.cl.cam.ac.uk>
Sat, 12 Feb 2005 03:06:56 +0000 (03:06 +0000)
fix build
Signed-off-by: ian@xensource.com
xen/arch/x86/dom0_ops.c
xen/arch/x86/vmx.c

index 9e7ec8c31b73d72d22b49752f9c07c31d331ce5f..4174fb2640d29ecba51c03127ff054ace8fd0059 100644 (file)
@@ -348,16 +348,21 @@ void arch_getdomaininfo_ctxt(
     struct exec_domain *ed, full_execution_context_t *c)
 { 
     int i;
-    unsigned long vmx_domain = ed->arch.arch_vmx.flags;
+#ifdef __i386__  /* Remove when x86_64 VMX is implemented */
+    unsigned long vmx_domain;
     extern void save_vmx_execution_context(execution_context_t *);
+#endif
 
     c->flags = 0;
     memcpy(&c->cpu_ctxt, 
            &ed->arch.user_ctxt,
            sizeof(ed->arch.user_ctxt));
 
+#ifdef __i386__
+    vmx_domain = ed->arch.arch_vmx.flags;
     if (vmx_domain)
         save_vmx_execution_context(&c->cpu_ctxt);
+#endif
 
     if ( test_bit(EDF_DONEFPUINIT, &ed->ed_flags) )
         c->flags |= ECF_I387_VALID;
index 2a6537b518d60e4288aa1cea0b5772db2dc3e939..4fa444b709ec1e147a3a144527991a228ccd5213 100644 (file)
@@ -646,6 +646,20 @@ static void vmx_print_line(const char c, struct exec_domain *d)
         print_buf[index++] = c;
 }
 
+void save_vmx_execution_context(execution_context_t *ctxt)
+{
+    __vmread(GUEST_SS_SELECTOR, &ctxt->ss);
+    __vmread(GUEST_ESP, &ctxt->esp);
+    __vmread(GUEST_EFLAGS, &ctxt->eflags);
+    __vmread(GUEST_CS_SELECTOR, &ctxt->cs);
+    __vmread(GUEST_EIP, &ctxt->eip);
+
+    __vmread(GUEST_GS_SELECTOR, &ctxt->gs);
+    __vmread(GUEST_FS_SELECTOR, &ctxt->fs);
+    __vmread(GUEST_ES_SELECTOR, &ctxt->es);
+    __vmread(GUEST_DS_SELECTOR, &ctxt->ds);
+}
+
 #ifdef XEN_DEBUGGER
 void save_xen_regs(struct xen_regs *regs)
 {